大部分的程式如果沒有特定指令,大多由上到下執行
但是我們可以用控制結構的方法改變程式運行的方向
我們先從最簡單的IF開始學起
IF是最基礎的判斷句
如果cond為真,即執行if區程式碼
若為其他狀況(else)即執行else內部程式碼
package main
import "fmt"
func main() {
var a,b = 1,1
var cond = (a+b==3)
if cond{
fmt.Println("true")
}else{
fmt.Println("false")
}
}
設定a,b為1,1
cond是 a+b = 3
如果cond為真
則印出true若非則印false
執行結果
false
此外,也可以用else if 做為進入else前的另一個判斷句
if scenario_a {
//若scenario是true則執行
} else if scenario_b {
//若scenario_b是true則執行
} else {
//若scenario_a,scenario_b接不是true則執行
}
switch A {
case 1:
// 執行block_1
case 2:
// 執行block_2
fallthrough
case 3:
// 執行block_3
case 4, 5:
// 執行block_4_5
default:
// 執行default
}
在上面的範例中
switch的用法用於判斷A屬於哪個狀況並執行其區塊程式碼
若情況為1則執行block_1
情況為2則執行block_2並且因為有fallthrough所以會連帶block_3一起執行,case_3因為沒有fallthrough所以不會繼續網block_4_5執行
情況3則執行block_3,要注意的是這裡並不會執行block_2
情況4或5都會執行block_4_5,GO允許switch擁有兩個以上的值
皆不是的狀況下則執行default
default類似else,可以省略